package cn.stimd.spring.transaction.support;

import java.io.Flushable;

/**
 * 由事务对象实现该接口，可以获得一个内部的rollback-only标记，该标记通常来自于另一个事务
 * DefaultTransactionStatus会自动检测，总是返回一个rollback-only标记（不一定是由当前TransactionStatus生成的）
 * <p>
 * Created by Stimd
 * 项目地址：https://gitee.com/stimd/spring-wheel
 * 公众号：Java编程探微
 */
public interface SmartTransactionObject extends Flushable {
    /**
     * 事务是否被标记为rollback-only
     */
    boolean isRollbackOnly();

    /**
     * 刷出底层的Session
     */
    @Override
    void flush();
}
